/**
 *====================================================
 * 文件名称: FinanceProductEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年11月11日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.project.entity.lexicon.LoanMethodEnum;
import com.yuexunit.finance.project.entity.lexicon.ProductScopeEnum;
import com.yuexunit.finance.project.entity.lexicon.ProductStateEnum;
import com.yuexunit.finance.project.entity.lexicon.ProductTypeEnum;

/**
 * @ClassName: FinanceProductEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年11月11日 下午4:54:41
 */
@Entity
@Table(name = "FIN_FINANCE_PRODUCT")
public class FinanceProductEntity {

	/** 产品ID */
	@Id
	@GeneratedValue
	@Column(name = "PRODUCT_ID")
	private Long productId;

	/** 产品名称 */
	@Column(name = "PRODUCT_NAME")
	private String productName;

	/** 产品适用范围 0:未知/1:客户/2:物流/3:监管 */
	@Column(name = "PRODUCT_SCOPE")
	private ProductScopeEnum productScope;

	/** 产品类型 0:未知/1:代采/2:质押/ */
	@Column(name = "PRODUCT_TYPE")
	private ProductTypeEnum productType;

	/** 借款方式 1:按日计息/2:固定计息 */
	@Column(name = "LOAN_METHOD")
	private LoanMethodEnum loanMethod;
	
	/** 阶段结息天数 */
	@Column(name = "QUARTER_SETTLEMENT")
	private Integer quantitySettlement;

	/** 产品编号 */
	@Column(name = "PRODUCT_NUMBER")
	private String productNumber;

	/** 利率 */
	@Column(name = "INTEREST")
	private BigDecimal interest;
	
	/** 年化利率 */
	@Column(name = "ANNUAL_RATE")
	private BigDecimal annualRate;

	/** 最小天数 */
	@Column(name = "MIN_DAYS")
	private Integer minDays;

	/** 最大天数 */
	@Column(name = "MAX_DAYS")
	private Integer maxDays;
	
	/** 基础天数 */
	@Column(name = "BASE_DAYS")
	private Integer baseDays;

	/** 起始时间 */
	@Column(name = "START_D8")
	private Integer startDate;

	/** 截止时间 */
	@Column(name = "END_D8")
	private Integer endDate;

	/** 赎货预留天数 */
	@Column(name = "DISTRAIN")
	private Integer distrain;
	
	/** 合同对象 */
	@Column(name = "SIGNING ")
	private String singing;

	/** 合同对象ID */
	@Column(name = "SIGNING_ID")
	private Long signingId;

	/** 产品说明 */
	@Column(name = "DESCRIPTION")
	private String description;

	/** 产品附件 */
	@Column(name = "FILE_UUIDS")
	private String fileUuids;
	
	/** 合同范本 */
	@Column(name = "SAMPLE_UUIDS")
	private String sampleUuids;

	/** 产品图片 */
	@Column(name = "IMAGE")
	private String image;

	/** 适用企业ID */
	@Column(name = "ENTERPRISE_ID")
	private Long enterpriseId;

	/** 适用企业名称 */
	@Column(name = "ENTERPRISE_NAME")
	private String enterpriseName;

	/** 状态 0:未知/1:待提交/2:待审核/3:待公布/4:已公布/5:已停用 */
	@Column(name = "STATE")
	private ProductStateEnum state;

	/** 保证金利率 */
	@Column(name = "BAIL_RATE")
	private BigDecimal bailRate;

	/** 是否置顶 0:否/1:是 */
	@Column(name = "TOP")
	private Boolean top;

	/** 是否有效 0:无效/1:有效 */
	@Column(name = "ENABLED")
	private Boolean enabled;

	/** 创建时间 */
	@Column(name = "CREATE_DT")
	private Date createDateTime;

	/** 更新时间 */
	@Column(name = "UPDATE_DT")
	private Date updateDateTime;
	
	/** 最低利息 */
	@Column(name = "LOWEST_INTEREST")
	private BigDecimal lowestInterest;
	
	/** 宣传图片 */
	@Column(name = "PUBLICITY_PICTURE")
	private String publicityPicture;

	public BigDecimal getAnnualRate() {
		return annualRate;
	}

	public void setAnnualRate(BigDecimal annualRate) {
		this.annualRate = annualRate;
	}

	public BigDecimal getLowestInterest() {
		return lowestInterest;
	}

	public void setLowestInterest(BigDecimal lowestInterest) {
		this.lowestInterest = lowestInterest;
	}

	public String getPublicityPicture() {
		return publicityPicture;
	}

	public void setPublicityPicture(String publicityPicture) {
		this.publicityPicture = publicityPicture;
	}

	public Integer getBaseDays() {
		return baseDays;
	}

	public void setBaseDays(Integer baseDays) {
		this.baseDays = baseDays;
	}

	public String getSinging() {
		return singing;
	}

	public void setSinging(String singing) {
		this.singing = singing;
	}

	public Long getSigningId() {
		return signingId;
	}

	public void setSigningId(Long signingId) {
		this.signingId = signingId;
	}

	public Integer getQuantitySettlement() {
		return quantitySettlement;
	}

	public void setQuantitySettlement(Integer quantitySettlement) {
		this.quantitySettlement = quantitySettlement;
	}

	public String getSampleUuids() {
		return sampleUuids;
	}

	public void setSampleUuids(String sampleUuids) {
		this.sampleUuids = sampleUuids;
	}

	public Long getProductId() {
		return productId;
	}

	public void setProductId(Long productId) {
		this.productId = productId;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getProductNumber() {
		return productNumber;
	}

	public void setProductNumber(String productNumber) {
		this.productNumber = productNumber;
	}

	public BigDecimal getInterest() {
		return interest;
	}

	public void setInterest(BigDecimal interest) {
		this.interest = interest;
	}

	public LoanMethodEnum getLoanMethod() {
		return loanMethod;
	}

	public void setLoanMethod(LoanMethodEnum loanMethod) {
		this.loanMethod = loanMethod;
	}

	public Integer getStartDate() {
		return startDate;
	}

	public void setStartDate(Integer startDate) {
		this.startDate = startDate;
	}

	public Integer getEndDate() {
		return endDate;
	}

	public void setEndDate(Integer endDate) {
		this.endDate = endDate;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getFileUuids() {
		return fileUuids;
	}

	public void setFileUuids(String fileUuids) {
		this.fileUuids = fileUuids;
	}

	public String getImage() {
		return image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public ProductScopeEnum getProductScope() {
		return productScope;
	}

	public void setProductScope(ProductScopeEnum productScope) {
		this.productScope = productScope;
	}

	public ProductStateEnum getState() {
		return state;
	}

	public void setState(ProductStateEnum state) {
		this.state = state;
	}

	public Boolean getEnabled() {
		return enabled;
	}

	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	public Date getCreateDateTime() {
		return createDateTime;
	}

	public void setCreateDateTime(Date createDateTime) {
		this.createDateTime = createDateTime;
	}

	public Date getUpdateDateTime() {
		return updateDateTime;
	}

	public void setUpdateDateTime(Date updateDateTime) {
		this.updateDateTime = updateDateTime;
	}

	public Integer getMinDays() {
		return minDays;
	}

	public void setMinDays(Integer minDays) {
		this.minDays = minDays;
	}

	public Integer getMaxDays() {
		return maxDays;
	}

	public void setMaxDays(Integer maxDays) {
		this.maxDays = maxDays;
	}

	public ProductTypeEnum getProductType() {
		return productType;
	}

	public void setProductType(ProductTypeEnum productType) {
		this.productType = productType;
	}

	public BigDecimal getBailRate() {
		return bailRate;
	}

	public void setBailRate(BigDecimal bailRate) {
		this.bailRate = bailRate;
	}

	public Integer getDistrain() {
		return distrain;
	}

	public void setDistrain(Integer distrain) {
		this.distrain = distrain;
	}

	public Boolean getTop() {
		return top;
	}

	public void setTop(Boolean top) {
		this.top = top;
	}

}
